import { createStore } from 'vuex'


const store = createStore({
  namespaced: true,
  state() {  //仓库的数据源
    return {
      count: 2
    }
  },
  mutations: { //所有修改数据源的方法·都应该放在mutation里面
    // (第一个参数为state，其他为自己创建的)
    add(state, n) {  //人为创建方法
      state.count += n
    }
  },
  actions:{  //触发mutation中的方法
    addAction(context,num){ //代表整个store对象
      context.commit('add',num)
      
    }
  },
  getters:{  //相当于仓库的计算属性
    //只要依赖值变化就会自动重新执行
    countSquare(state){
      return state.count ** 2
    }
  }
})

export default store